/* Copyright (C) 2010-2011 Antonio Redondo López.
 * This file is part of Image Feature Detector.
 * Source code published under the GNU GPL v3.
 * For further information visit http://code.google.com/p/image-feature-detector/
 */

#ifndef WINDOWCAPTUREROBOCOMP_H
#define WINDOWCAPTUREROBOCOMP_H

#include <stdint.h>
#include <QtGui>
#include "ui_captureRoboCompWindow.h"
#include "windowImage.h"
#include "worker.h"
#include <Camera.h>
#include <DifferentialRobot.h>

using namespace RoboCompCamera;
using namespace RoboCompDifferentialRobot;

#define CHECK_PERIOD 5000
#define BASIC_PERIOD 100

/**
       \brief
       @author authorname
*/
class windowCaptureRoboComp : public QDialog, private Ui::captureWebcamWindow {
  Q_OBJECT
  public:
	windowCaptureRoboComp(QWidget* widgetConstr, CameraPrx camPrxConstr, DifferentialRobotPrx basePrxConstr);
	
  private:
	CameraPrx camPrx; //proxy de acceso a la camara
	TCamParams camParams; //estructura que guarda los parametros de la camara
	imgType camImagesRaw; //array de byte en el que la camara devuelve las imagenes

	DifferentialRobotPrx basePrx; //proxy de acceso a la base
	TBaseState baseState; //estructura que guarda la posicion de la base
	RoboCompCommonHead::THeadState headState; //estructura que guarda la posicion de la torreta

	QTimer* myTimer;
	QWidget* myWidget;
	QImage* imageRealTime; //imagen sobre la que vamos a copiar (PUNTERO)
	int imgSize; //enterno que almacena el tamaño de la imagen

  private slots:
	void capture();
	void ok();
	void compute();
	void close();
};

#endif